/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Persistencia;

import Entidades.Biometria;
import Entidades.Empleado;
import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.Query;

/**
 *
 * @author diego
 */
public class JPAControllerEmpleado extends JpaController {

    public List<Empleado> buscarPorFecha(Date fecha) {
        EntityManager em = ConexionAdmin.getInstance().getEntityManager();
        String jpql = "SELECT e FROM Empleado e WHERE e.fechaBajaEmpleado = ?1";
        Query query = em.createQuery(jpql);
        query.setParameter(1, fecha);
        return query.getResultList();
    }

    public List<Empleado> buscarPorLegajo(String legajo) {
        EntityManager em = ConexionAdmin.getInstance().getEntityManager();
        String jpql = "SELECT e FROM Empleado e WHERE e.legajoEmpleado = ?1";
        Query query = em.createQuery(jpql);
        query.setParameter(1, legajo);
        return query.getResultList();
    }

    public List<Empleado> buscarPorDU(String du) {
        EntityManager em = ConexionAdmin.getInstance().getEntityManager();
        String jpql = "SELECT e FROM Empleado e WHERE e.nroDU = ?1";
        Query query = em.createQuery(jpql);
        query.setParameter(1, du);
        return query.getResultList();
    }

    public List<Empleado> buscarPorVigencia(boolean vigencia) {
        EntityManager em = ConexionAdmin.getInstance().getEntityManager();
        String jpql = "SELECT e FROM Empleado e WHERE e.vigente = ?1";
        Query query = em.createQuery(jpql);
        query.setParameter(1, vigencia);
        return query.getResultList();
    }
    public Biometria buscarBio(Empleado idEmpleado) {
        EntityManager em = ConexionAdmin.getInstance().getEntityManager();
        String jpql = "SELECT b FROM Biometria b WHERE b.idEmpleado = ?1";
        try {
        Query query = em.createQuery(jpql);
        query.setParameter(1, idEmpleado);
        return (Biometria) query.getSingleResult();
        }
        catch(NoResultException e) {
        return null;
        }
    }
}
